package com.example.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;
import java.time.LocalDateTime;
import java.util.concurrent.ThreadLocalRandom;

//销售客户表
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("xs_customert")
public class XsCustomer {
//客户编号
    @TableId(value = "customer_id",type = IdType.AUTO)
    private Long customerId;
//客户的全称或常用称呼
    @TableField(value = "customer_name")
    private String customerName;
//客户类型，如个体客户、企业客户、汽车行业客户
    @TableField(value = "customer_type")
    private String customerType;
//客户公司成立的年份，格式为 XXXX - XX - XX
    @TableField(value = "establishment_date")
    private LocalDateTime establishmentDate;
//客户注册时的资金数额，单位为万元，保留两位小数
    @TableField(value = "registered_capital")
    private Double registeredCapital;
//负责与公司对接的人员名等
    @TableField(value = "contact_person")
    private String contactPerson;
//联系人的常用电话号码，包括手机和固定电话
    @TableField(value = "contact_phone")
    private String contactPhone;
//用于业务沟通的电子邮箱地址
    @TableField(value = "contact_email")
    private String contactEmail;
//与客户开始合作的日期，格式为 XXXX - XX - XX
    @TableField(value = "cooperation_start_date")
    private String cooperationStartDate;
//合作状态，如正在合作、暂停合作、终止合作等
    @TableField(value = "cooperation_status")
    private String cooperationStatus;
//根据客户情况进行的信用评估等级，如 A 级、B 级、C 级等
    @TableField(value = "credit_rating")
    private String creditRating;
//用于记录其他需要说明的信息，如特殊要求、重大事件等
    @TableField(value = "remarks")
    private String remarks;

//创建该客户记录的人员id
    @TableField(fill = FieldFill.INSERT)
    private Integer createBy;
//创建该客户记录的时间
    @TableField(fill = FieldFill.INSERT)
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
//最后修改该客户记录的人员id
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateBy;
//最后修改该客户记录的时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;


}
